package com.lemon.smartsafetynew.util.hidden;

import com.lemon.smartsafety.R;
import com.lemon.smartsafetynew.entity.hidden.SafeHiddenBo;
import com.lemon.smartsafetynew.entity.hidden.SafeHiddenVo;

/**
 * Created by Andrew on 2017/9/21.
 */

public class SafeHiddenUtils {

    /**
     * 获取当前页面的状态信息
     * （"", "全部"）
     * （"1", "新建"）
     * （"2", "整改"）
     * （"3", "复查"）
     * （"4", "结束"）
     * <p>
     * tab_type和list_type对应表
     * [tab_type, list_type]
     * [0, 0]  新建
     * [0, 1]  整改
     * [0, 2]  复查
     * [1, 0]  全部
     * [1, 1]  未上报
     * [1, 2]  已上报
     * [2, 0]  全部隐患
     *
     * @param tab_type
     * @param list_type
     * @return
     */
    public static String getStatus(int tab_type, int list_type) {

        String status = "";  //全部隐患

        if (tab_type == 0) {
            switch (list_type) {
                case 0:
                    status = SafeHiddenBo.Status.create.getValue();
                    break;
                case 1:
                    status = SafeHiddenBo.Status.rectify.getValue();
                    break;
                case 2:
                    status = SafeHiddenBo.Status.review.getValue();
                    break;

            }
        } else if (tab_type == 1) {
            switch (list_type) {
                case 0:
                    status = SafeHiddenBo.Status.finish.getValue();
                    break;
                case 1:
                    status = "4"; //TODO
                    break;
                case 2:
                    status = "4"; //TODO
                    break;

            }
        }

        return status;
    }

    /**
     * 获取隐患来源
     *
     * @param sourceType
     * @return
     */
    public static String getSourceType(String sourceType) {
        if (SafeHiddenBo.SourceType.security_patrol.getValue().equals(sourceType)) {
            return SafeHiddenBo.SourceType.security_patrol.getDesc();
        } else if (SafeHiddenBo.SourceType.random_photo.getValue().equals(sourceType)) {
            return SafeHiddenBo.SourceType.random_photo.getDesc();
        } else if (SafeHiddenBo.SourceType.from_self_check_point.getValue().equals(sourceType)) {
            return SafeHiddenBo.SourceType.from_self_check_point.getDesc();
        } else if (SafeHiddenBo.SourceType.from_grid_point.getValue().equals(sourceType)) {
            return SafeHiddenBo.SourceType.from_grid_point.getDesc();
        }
        return "";
    }

    /**
     * 获取隐患通知内容
     *
     * @param sourceType
     * @return
     */
    public static String getHiddenContentType(String sourceType) {
        if (SafeHiddenBo.HiddenDangerNotice.hiddenDanger.getValue().equals(sourceType)) {
            return SafeHiddenBo.HiddenDangerNotice.hiddenDanger.getDesc();
        } else if (SafeHiddenBo.HiddenDangerNotice.expire.getValue().equals(sourceType)) {
            return SafeHiddenBo.HiddenDangerNotice.expire.getDesc();
        } else if (SafeHiddenBo.HiddenDangerNotice.check.getValue().equals(sourceType)) {
            return SafeHiddenBo.HiddenDangerNotice.check.getDesc();
        } else if (SafeHiddenBo.HiddenDangerNotice.warning.getValue().equals(sourceType)) {
            return SafeHiddenBo.HiddenDangerNotice.warning.getDesc();
        }
        return "";
    }

    /**
     * 获取记录的处理状态图像ID
     *
     * @param type
     * @return
     */
    public static int getTypeImageRes(String type, String result) {

        if (SafeHiddenBo.Status.create.getValue().equals(type)) {
            return R.mipmap.icon_hidden_step_one;
        } else if (SafeHiddenBo.Status.rectify.getValue().equals(type)) {
            return R.mipmap.icon_hidden_step_four;
        }  else if (SafeHiddenBo.Status.review.getValue().equals(type)) {
            if(SafeHiddenBo.Result.pass.getValue().equals(result)) {
                return R.mipmap.icon_hidden_step_six;
            } else if (SafeHiddenBo.Result.no_pass.getValue().equals(result)){
                return R.mipmap.icon_hidden_step_five;
            } else {
                return R.mipmap.icon_hidden_step_six;
            }
        } else if(SafeHiddenBo.Status.finish.getValue().equals(type)) {
            return R.mipmap.icon_hidden_step_six;
        } else if(SafeHiddenBo.Status.doc.getValue().equals(type)) {
            return R.mipmap.icon_hidden_step_seven;
        } else if(SafeHiddenBo.Status.upload.getValue().equals(type)) {
            return R.mipmap.icon_hidden_step_seven;
        } else {
            return R.mipmap.icon_hidden_step_six;
        }

    }

    /**
     * 获取记录的处理状态图像ID
     *
     * @param type
     * @return
     */
    public static String getTypeStr(String type, String result, String docType) {

        if (SafeHiddenBo.Status.create.getValue().equals(type)) {
            return "创建隐患";
        } else if (SafeHiddenBo.Status.rectify.getValue().equals(type)) {
            return "已整改";
        }  else if (SafeHiddenBo.Status.review.getValue().equals(type)) {

            if(SafeHiddenBo.Result.pass.getValue().equals(result)) {
                return "关闭隐患";
            } else if (SafeHiddenBo.Result.no_pass.getValue().equals(result)){
                return "重新整改";
            } else {
                return "关闭隐患";
            }

        } else if(SafeHiddenBo.Status.finish.getValue().equals(type)) {
            return "关闭隐患";
        } else if(SafeHiddenBo.Status.doc.getValue().equals(type)) {

            if(SafeHiddenBo.Doc.site_inspection_doc.getValue().equals(docType)) {
                return "开具现场检查意见书";
            } else if (SafeHiddenBo.Doc.order_rectification_doc.getValue().equals(docType)){
                return "开具责令限期整改指令书";
            } else if(SafeHiddenBo.Doc.rectification_review_doc.getValue().equals(docType)){
                return "开具整改复查意见书";
            } else {
                return "开具现场检查意见书";
            }

        } else if(SafeHiddenBo.Status.upload.getValue().equals(type)) {

            if(SafeHiddenBo.Doc.site_inspection_doc.getValue().equals(docType)) {
                return "上传现场检查意见书";
            } else if (SafeHiddenBo.Doc.order_rectification_doc.getValue().equals(docType)){
                return "上传责令限期整改指令书";
            } else if(SafeHiddenBo.Doc.rectification_review_doc.getValue().equals(docType)){
                return "上传整改复查意见书";
            } else {
                return "上传现场检查意见书";
            }

        } else {
            return "关闭隐患";
        }

    }

}
